package net.jlnx.Uebung2_3;

public class KapselAuto extends net.jlnx.Uebung2_2.KapselAuto {

	public KapselAuto(String hersteller, long laufleistung, double preis,
			String farbe, boolean unfallwagen, String kraftstoff,
			double leistung) {
		super(hersteller, laufleistung, preis, farbe, unfallwagen, kraftstoff,
				leistung);
	}

	public static double unfallwaegenProz() {
		double amount = 0;
		for (int i = 0; i < KapselAuto.getAnzahl(); i++) {
			if (KapselAuto.getBestand().get(i).isUnfallwagen()) {
				amount++;
			}
		}

		return (100 / (double) KapselAuto.getAnzahl()) * amount;
	}

	public static double getKraftstoffProz(String kraftstoff) {
		double amount = 0;
		for (int i = 0; i < KapselAuto.getAnzahl(); i++) {
			if (KapselAuto.getBestand().get(i).getKraftstoff()
					.equalsIgnoreCase(kraftstoff)) {
				amount++;
			}
		}

		return (100 / (double) KapselAuto.getAnzahl()) * amount;
	}

	public static double erloesMitNachlaessen(double erlassMitUnfallInProz,
			double erlassOhneUnfallInProz) {
		double amount = 0;
		for (int i = 0; i < KapselAuto.getAnzahl(); i++) {
			if (KapselAuto.getBestand().get(i).isUnfallwagen()) {
				amount += KapselAuto.getBestand().get(i).getPreis()
						- (KapselAuto.getBestand().get(i).getPreis() / 100 * erlassMitUnfallInProz);
			} else {
				amount += KapselAuto.getBestand().get(i).getPreis()
						- (KapselAuto.getBestand().get(i).getPreis() / 100 * erlassOhneUnfallInProz);
			}
		}

		return amount * 100 / 100;
	}

	public static void bubbleSort() {
		boolean unsorted = true;
		while (unsorted) {
			unsorted = false;
			for (int i = 0; i < KapselAuto.getAnzahl() - 1; i++) {
				if (!(KapselAuto.getBestand().get(i).getPreis() >= KapselAuto
						.getBestand().get(i + 1).getPreis())) {
					KapselAuto dummy = (KapselAuto) KapselAuto.getBestand()
							.get(i);
					KapselAuto.getBestand().set(i,
							KapselAuto.getBestand().get(i + 1));
					KapselAuto.getBestand().set(i + 1, dummy);
					unsorted = true;
				}
			}
		}
	}

}